package cn.zhx.domain.activity.service;

import cn.zhx.domain.activity.model.entity.PartakeRaffleActivityEntity;
import cn.zhx.domain.activity.model.entity.UserRaffleOrderEntity;

/**
 * @Author: zhx
 * @Date: 2024/07/16
 * @Description: 抽奖活动参与服务
 **/
public interface IRaffleActivityPartakeService {
    /**
     * 创建抽奖单；用户参与抽奖活动，扣减用户活动账户库存，产生抽奖单。如存在未被使用的抽奖单则直接返回已存在的抽奖单。
     *
     * @param partakeRaffleActivityEntity 参与抽奖活动实体对象
     * @return 用户抽奖订单实体对象
     */
    UserRaffleOrderEntity createOrder(PartakeRaffleActivityEntity partakeRaffleActivityEntity);
    UserRaffleOrderEntity createOrder(String userId,Long activityId);

    /**
     * 查询用户账户某天参与次数
     * @param activityId 活动id
     * @param userId 用户id
     * @return
     */
    Integer queryRaffleActivityAccountDayPartakeCount(Long activityId, String userId);
}
